// TOWN SCRIPT
//    Town 7: Tower

// This is the special encounter script for this town.
// The states INIT_STATE, EXIT_STATE, and START_STATE have
// meanings that are described in the documenation. States you write
// yourself should be numbered from 10-100.

begintownscript;

variables;

int i,j,k,choice;
string dlgstr;

body;

beginstate INIT_STATE;
	set_crime_tolerance(1);
	
	change_blocked(5,20,1);
	change_blocked(5,21,1);
	change_blocked(5,22,1);
	change_blocked(6,20,1);
	change_blocked(6,21,1);
	change_blocked(6,22,1);
	change_blocked(7,20,1);
	change_blocked(7,21,1);
	change_blocked(7,22,1);
	
	if (get_flag(7,2) != 0)
		erase_char(6);
		
	set_character_pose(7,14);
	set_character_pose(8,12);
	
	if (get_flag(5,13) > 0)
		if (get_flag(7,3) == 0) {
			force_instant_terrain_redraw();
			set_flag(7,3,1);
			message_dialog("You re-enter the tower and find Collatinus dead next to the body of his wife Lucretia. He appears to have stabbed himself.","");
			}
	
	if (get_flag(7,0) == 0) {
		force_instant_terrain_redraw();
		set_flag(7,0,1);
		message_dialog("You arrive in a room high up in the tower in the middle of Castle Putideum.","On the other side of the room is Lucretia, looking out the window and singing quietly to herself.");
		}
break;

beginstate EXIT_STATE;
// Always called when the town is left.
break;

beginstate START_STATE;
if ((get_crime_level() > 0) && (get_flag(250,4) == 0)) {
		set_flag(250,4,1);
		message_dialog("You feel a chill come over you. The gods have seen your crimes, and they will certainly punish you. The only questions are when and how.","");
		}
break;

beginstate 10;
	i = 0;
	while (char_ok(i) == 0)
		{i = i + 1; }
	
	message_dialog("You approach to an appropriate distance.","");
	
	relocate_character(0,10,12);
	relocate_character(1,11,12);
	relocate_character(2,12,12);
	relocate_character(3,13,12);
	set_character_facing(0,0);
	set_character_facing(1,0);
	set_character_facing(2,0);
	set_character_facing(3,0);
	force_view_center(10,12);
	force_instant_terrain_redraw();

	reset_dialog();
	add_dialog_str(0,"Lucretia looks even more pale and beautiful than she did in Putidus's throne room. She wears a simple stola, the mark of a virtuous matrona. You notice two small cuts in the side of her neck near the base, the only marks on her perfect body.",0);
	add_dialog_str(1,"She is singing quietly to herself. You can't quite catch the words, but the melody is slow, sad, and sweet.",0);
	add_dialog_str(2,"What do you say?",0);
	if (party_size() > 1)
		add_dialog_choice(0,"Lucretia, we're here to rescue you!");
	else
		add_dialog_choice(0,"Lucretia, I'm here to rescue you!");
	add_dialog_choice(1,"What are you singing?");
	choice = run_dialog(1);
	
	message_dialog("She doesn't reply, but her singing grows louder, enough that you can understand her words.","");
	
	text_bubble_on_char(6,"The maid cries,");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"'Before you tumbled me,");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"You promised me to wed.'");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"He answers,");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"'So would I have done, by yonder sun,");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"if you had not come to my bed.'");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	relocate_character(6,11,9);
	text_bubble_on_char(6,"");
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	relocate_character(6,10,9);
	set_character_facing(6,2);
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	relocate_character(6,10,10);
	set_character_facing(6,4);
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	text_bubble_on_char(6,"Did you like my song?");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"I know another, one about a willow.");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	force_instant_terrain_redraw();
	
	reset_dialog();
	add_dialog_str(0,"What do you say?",0);
	add_dialog_choice(0,"Lucretia! Let's get out of here!");
	add_dialog_choice(1,"That was a pretty song. What does it mean?");
	add_dialog_choice(2,"How on earth did you end up here, Lucretia?");
	choice = run_dialog(1);
	
	if (choice == 1)
		set_state_continue(11);
	if (choice == 3)
		set_state_continue(13);
	if (choice == 2) {
		text_bubble_on_char(6,"Mean?");
		force_instant_terrain_redraw();
		pause(5 * get_flag(251,0));
		
		text_bubble_on_char(6,"");
		text_bubble_on_char(6,"Oh, do not think on it.");
		force_instant_terrain_redraw();
		pause(5 * get_flag(251,0));
		
		text_bubble_on_char(6,"");
		text_bubble_on_char(6,"There's no sense lying between maids'");
		force_instant_terrain_redraw();
		pause(5 * get_flag(251,0));
		
		text_bubble_on_char(6,"");
		force_instant_terrain_redraw();
		pause(2 * get_flag(251,0));
		
		reset_dialog();
		add_dialog_str(0,"She frowns and falls silent without finishing her sentence. What do you say?",0);
		add_dialog_choice(0,"(Nothing.)");
		add_dialog_choice(1,"Is something wrong?");
		add_dialog_choice(2,"Come, Lucretia, we should leave here.");
		choice = run_dialog(1);
		
		if (choice == 3)
			set_state_continue(11);
		if (choice == 2) {
			text_bubble_on_char(6,"Wrong? No.");
			force_instant_terrain_redraw();
			pause(5 * get_flag(251,0));
			
			text_bubble_on_char(6,"");
			text_bubble_on_char(6,"I am obedient to my generous lord,");
			force_instant_terrain_redraw();
			pause(5 * get_flag(251,0));
			
			text_bubble_on_char(6,"");
			text_bubble_on_char(6,"as is purely natural.");
			force_instant_terrain_redraw();
			pause(5 * get_flag(251,0));
			
			text_bubble_on_char(6,"");
			}
		
		text_bubble_on_char(6,"Let me tell you a story,");
		force_instant_terrain_redraw();
		pause(5 * get_flag(251,0));
		
		text_bubble_on_char(6,"");
		text_bubble_on_char(6,"the story of how I came here.");
		force_instant_terrain_redraw();
		pause(5 * get_flag(251,0));
		
		text_bubble_on_char(6,"");
		force_instant_terrain_redraw();
		
		set_state_continue(13);
		}
	
break;

beginstate 11;
	text_bubble_on_char(6,"Leave?");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"I should not go.");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"I must not be disobedient to my lord.");
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	relocate_character(6,9,11);
	set_character_facing(6,3);
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	relocate_character(6,8,12);
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	// Party turns to follow her
	set_character_facing(0,2);
	set_character_facing(1,2);
	set_character_facing(2,2);
	set_character_facing(3,2);
	
	relocate_character(6,8,13);
	set_character_facing(6,4);
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"I will not seek for rule,");
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	relocate_character(6,8,14);
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	relocate_character(6,7,15);
	set_character_facing(6,3);
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"supremacy, and sway");
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	set_character_facing(6,0);
	force_instant_terrain_redraw();
	pause(3 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"when I am bound to serve,");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"love, and obey.");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	force_instant_terrain_redraw();
	
	reset_dialog();
	add_dialog_str(0,"What do you say?",0);
	add_dialog_choice(0,"What are you talking about? Lord Putidus is a terrible, evil man!");
	add_dialog_choice(1,"Your true lord, your husband Collatinus, wants you to return to him.");
	choice = run_dialog(1);
	if (choice == 1) {
		march_party(9,13);
		force_view_center(9,13);
		text_bubble_on_char(i,"What are you talking about?");
		force_instant_terrain_redraw();
		pause(2 * get_flag(251,0));
		
		march_party(9,14);
		force_view_center(9,14);
		force_instant_terrain_redraw();
		pause(2 * get_flag(251,0));
		
		march_party(9,15);
		force_view_center(9,15);
		force_instant_terrain_redraw();
		pause(2 * get_flag(251,0));
		
		text_bubble_on_char(i,"");
		text_bubble_on_char(i,"Lord Putidus is a terrible, evil man!");
		force_instant_terrain_redraw();
		pause(5 * get_flag(251,0));
		
		relocate_character(6,8,16);
		set_character_facing(6,5);
		text_bubble_on_char(i,"");
		text_bubble_on_char(6,"I don't think so.");
		force_instant_terrain_redraw();
		pause(2 * get_flag(251,0));
		
		relocate_character(6,9,16);
		set_character_facing(6,6);
		force_instant_terrain_redraw();
		pause(2 * get_flag(251,0));
		
		set_character_facing(6,0);
		force_instant_terrain_redraw();
		pause(2 * get_flag(251,0));
		
		text_bubble_on_char(6,"");
		text_bubble_on_char(6,"He has been most kind.");
		force_instant_terrain_redraw();
		pause(5 * get_flag(251,0));
		
		text_bubble_on_char(6,"");
		force_instant_terrain_redraw();
		
		if (get_flag(7,1) == 0) {
			text_bubble_on_char(6,"");
			text_bubble_on_char(6,"Just think how he brought me here!");
			force_instant_terrain_redraw();
			pause(5 * get_flag(251,0));
			
			text_bubble_on_char(6,"");
			
			set_state_continue(13);
			}
		else {
			reset_dialog();
			add_dialog_str(0,"What do you say?",0);
			add_dialog_choice(0,"Lucretia, you shouldn't stay here. Come back to Collatinus, who loves you.");
			add_dialog_choice(1,"That's terrible! How could you leave your husband, you whore?");
			if (run_dialog(1) == 1)
				set_state_continue(12);
			else {
				set_state_continue(14);
				}
			}
		}
	if (choice == 2) {
		march_party(9,13);
		force_view_center(9,13);
		text_bubble_on_char(i,"Your true lord,");
		force_instant_terrain_redraw();
		pause(2 * get_flag(251,0));
		
		march_party(9,14);
		force_view_center(9,14);
		force_instant_terrain_redraw();
		pause(2 * get_flag(251,0));
		
		march_party(9,15);
		force_view_center(9,15);
		force_instant_terrain_redraw();
		pause(2 * get_flag(251,0));
		
		text_bubble_on_char(i,"");
		text_bubble_on_char(i,"your husband Collatinus,");
		force_instant_terrain_redraw();
		pause(5 * get_flag(251,0));
		
		text_bubble_on_char(i,"");
		text_bubble_on_char(i,"wants you to return to him.");
		force_instant_terrain_redraw();
		pause(5 * get_flag(251,0));
		
		text_bubble_on_char(i,"");
		force_instant_terrain_redraw();
		
		message_dialog("She shows a moment of hesitation.","");
		
		text_bubble_on_char(6,"");
		text_bubble_on_char(6,"Collatinus...");
		force_instant_terrain_redraw();
		pause(5 * get_flag(251,0));
		
		text_bubble_on_char(6,"");
		text_bubble_on_char(6,"my husband?");
		force_instant_terrain_redraw();
		pause(5 * get_flag(251,0));
		
		text_bubble_on_char(6,"");
		text_bubble_on_char(6,"No, he is not my...");
		force_instant_terrain_redraw();
		pause(5 * get_flag(251,0));
		
		text_bubble_on_char(6,"");
		text_bubble_on_char(6,"husband.");
		force_instant_terrain_redraw();
		pause(5 * get_flag(251,0));
		
		text_bubble_on_char(6,"");
		force_instant_terrain_redraw();
		
		reset_dialog();
		add_dialog_str(0,"What do you say?",0);
		if (get_flag(7,1) == 0) {
			add_dialog_choice(0,"Of course he is! You married him, didn't you?");	
			add_dialog_choice(1,"How is he not your husband?");
			choice = run_dialog(1);
			
			text_bubble_on_char(6,"Listen! Mark how I came here.");
			force_instant_terrain_redraw();
			pause(5 * get_flag(251,0));
			
			text_bubble_on_char(6,"");
			force_instant_terrain_redraw();
			set_state_continue(13);
			}
		else {
			add_dialog_choice(0,"Coming here with Putidus doesn't make him any less your husband. He and your son still love you.");	
			add_dialog_choice(1,"Of course he's still your husband. You walked out on him, but you're still married.");
			if (run_dialog(1) == 1)
				set_state_continue(15);
			else {
				message_dialog("She sighs.","");
				
				text_bubble_on_char(6,"You don't understand.");
				force_instant_terrain_redraw();
				pause(5 * get_flag(251,0));
				
				relocate_character(6,8,14);
				set_character_facing(6,7);
				text_bubble_on_char(6,"");
				text_bubble_on_char(6,"The vows that I have taken");
				force_instant_terrain_redraw();
				pause(2 * get_flag(251,0));
				
				relocate_character(6,8,13);
				set_character_facing(6,0);
				force_instant_terrain_redraw();
				pause(2 * get_flag(251,0));
				
				march_party(8,15);
				force_view_center(8,15);
				relocate_character(6,7,12);
				force_instant_terrain_redraw();
				pause(2 * get_flag(251,0));
				
				march_party(8,14);
				force_view_center(8,14);
				relocate_character(6,7,11);
				text_bubble_on_char(6,"");
				text_bubble_on_char(6,"with my lord Putidus");
				force_instant_terrain_redraw();
				pause(2 * get_flag(251,0));
				
				set_character_facing(6,4);
				force_instant_terrain_redraw();
				pause(3 * get_flag(251,0));
				
				text_bubble_on_char(6,"");
				text_bubble_on_char(6,"bind me stronger still");
				force_instant_terrain_redraw();
				pause(5 * get_flag(251,0));
				
				text_bubble_on_char(6,"");
				text_bubble_on_char(6,"than whatever I swore with him.");
				force_instant_terrain_redraw();
				pause(5 * get_flag(251,0));
				
				message_dialog("She sighs again. _No, that is no longer a part of me,_ she says. _Putidus is my new life -- my new existence. There was something he said, once._","The veil of memory passes over her face, and then it quickly lifts.");
				
				set_state_continue(16);
				}
			}
		}
break;

beginstate 12;
	// Putidus is a terrible man but you can leave
	text_bubble_on_char(6,"Back to Collatinus?");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"But why?");
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	relocate_character(6,8,15);
	set_character_facing(6,2);
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	relocate_character(6,7,15);
	set_character_facing(6,1);
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	set_character_facing(6,0);
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"My lord wants me here.");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	force_instant_terrain_redraw();
	
	reset_dialog();
	add_dialog_str(0,"What do you say?",0);
	add_dialog_choice(0,"Putidus is not your lord! He is a foul thing in the shape of a king, a corruption in the very state of this province! You owe him nothing!");
	add_dialog_choice(1,"Can you have forgotten Collatinus and your son so quickly? They are your family.");
	
	if (run_dialog(1) == 1)
		set_state_continue(14);
	else
		set_state_continue(15);
break;

beginstate 13;
	set_flag(7,1,1);

	force_view_center(27,27);
	set_total_visibility(1);
	force_instant_terrain_redraw();
	
	message_dialog("_My lord was a friend for years, visiting Umbratium and talking away long hours with us. He regularly blessed us with his presence.","_One night, not long after you left, he came later than usual, and unexpected, and our conversation was different._");
	
	text_bubble_on_char(8,"Lucrece,");
	force_instant_terrain_redraw();
	pause(4 * get_flag(251,0));
	
	text_bubble_on_char(8,"");
	text_bubble_on_char(8,"where is Collatinus?");
	force_instant_terrain_redraw();
	pause(4 * get_flag(251,0));
	
	text_bubble_on_char(8,"");
	text_bubble_on_char(7,"Out with Brutus.");
	force_instant_terrain_redraw();
	pause(4 * get_flag(251,0));
	
	text_bubble_on_char(7,"");
	text_bubble_on_char(8,"This late?");
	force_instant_terrain_redraw();
	pause(4 * get_flag(251,0));
	
	text_bubble_on_char(8,"");
	text_bubble_on_char(7,"He's usually gone all day.");
	force_instant_terrain_redraw();
	pause(4 * get_flag(251,0));
	
	text_bubble_on_char(7,"");
	text_bubble_on_char(8,"But aren't you lonely?");
	force_instant_terrain_redraw();
	pause(4 * get_flag(251,0));
	
	text_bubble_on_char(8,"");
	text_bubble_on_char(7,"A little.");
	force_instant_terrain_redraw();
	pause(4 * get_flag(251,0));
	
	text_bubble_on_char(7,"");
	force_instant_terrain_redraw();
	
	relocate_character(8,26,29);
	set_character_pose(8,0);
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	text_bubble_on_char(8,"Tell me about it.");
	force_instant_terrain_redraw();
	pause(4 * get_flag(251,0));
	
	text_bubble_on_char(8,"");
	force_instant_terrain_redraw();
	
	message_dialog("_He looked at me with kindness enough to unlock words unthought from my heart. I revealed to him the secrets that lay deep within._","");
	
	text_bubble_on_char(7,"Why did I marry my lord?");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(7,"");
	text_bubble_on_char(7,"To stay behind and tend this bar?");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(7,"");
	text_bubble_on_char(7,"No!");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(7,"");
	text_bubble_on_char(7,"I promised to him all of my virtue");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(7,"");
	text_bubble_on_char(7,"so that we might make USE of it");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(7,"");
	text_bubble_on_char(7,"and not let it lie moth-eaten");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(7,"");
	text_bubble_on_char(7,"while he pursues");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(7,"");
	text_bubble_on_char(7,"other mannish activities.");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(7,"");
	text_bubble_on_char(8,"Such virtue...");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(8,"");
	text_bubble_on_char(8,"any man would be lucky");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(8,"");
	text_bubble_on_char(8,"to have such a woman.");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(8,"");
	text_bubble_on_char(7,"Do you truly think so?");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(7,"");
	text_bubble_on_char(8,"Yes.");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(8,"");
	text_bubble_on_char(8,"I have believed nothing in my life");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(8,"");
	text_bubble_on_char(8,"so truly.");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(8,"");
	text_bubble_on_char(7,"Sometimes...");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(7,"");
	text_bubble_on_char(7,"sometimes I just want to be held,");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(7,"");
	text_bubble_on_char(7,"protected in the night");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(7,"");
	text_bubble_on_char(7,"from the terrible creatures");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(7,"");
	text_bubble_on_char(7,"of the forest.");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(7,"");
	text_bubble_on_char(8,"Do I dare...");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(8,"");
	text_bubble_on_char(7,"What?");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(7,"");
	text_bubble_on_char(8,"Do I dare let go my thoughts,");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(8,"");
	text_bubble_on_char(8,"expose my nether landscape");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(8,"");
	text_bubble_on_char(8,"to the inquirious knife?");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(8,"");
	text_bubble_on_char(8,"I must!");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(8,"");
	text_bubble_on_char(8,"My duty to your hospitality");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(8,"");
	text_bubble_on_char(8,"demands no less.");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(8,"");
	force_instant_terrain_redraw();
	
	reset_dialog();
	add_dialog_str(0,"_He asked me to come with him back to Castle Putideum. I stared, transfixed. How could I refuse? My good lord, my kind lord, my sweet lord, having offered me a place in his own house! To be lonely never again, to leave dull care for pure wonder!",0);
	add_dialog_str(1,"_I accepted._",0);
	add_dialog_str(2,"What do you say?",0);
	add_dialog_choice(0,"(Nod.)");
	add_dialog_choice(1,"If you came willingly, why was Umbratium destroyed when we returned? (Describe what you saw.)");
	
	if (run_dialog(1) == 2)
		message_dialog("Lucretia looks confused. _I do not know. Lord Putidus did no damage when we left. If the town was ruined, Collatinus must have done it._","");
	
	force_view_center(char_loc_x(i),char_loc_y(i));
	set_total_visibility(0);
	force_instant_terrain_redraw();
	
	text_bubble_on_char(6,"Since then, we have been here.");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"He has shown me nothing but kindness,");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"the utmost care for my virtue.");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	force_instant_terrain_redraw();
	
	reset_dialog();
	add_dialog_str(0,"_At first he tended my virtue as a garden of delights. He let me stay here, in that bed, where he would sometimes lay beside me, marvelling at my pure white body. He promised to make me purer still.",0);
	add_dialog_str(1,"_But when I was less than virtuous, he would grow angry. He swore, and raged, and seized my arms, and threw me onto the bed. When I did not admit his love, I was a traitor, punished rightly and duly.",0);
	add_dialog_str(2,"_I have as late not been generous to my lord._ Her voice breaks. _He drinks my impurity out, taking it all upon himself, and I fear that it has not sat well inside him. He admires my virtue more and more as he feels the loss of his.",0);
	add_dialog_str(3,"_He stares unwaveringly at me, as if to see my inward parts shown all over my body. I do but say nothing. I know not what to say._",0);
	add_dialog_str(4,"She falls silent, staring. What do you say?",0);
	
	// Is figuring out what's wrong
	if (char_loc_y(6) == 10) {
		add_dialog_choice(0,"Lucretia, you need to get out of here.");
		add_dialog_choice(1,"I understand your desire for appreciation and love, but you're not going to find it here with Lord Putidus.");
		add_dialog_choice(2,"(Say nothing.)");
		choice = run_dialog(1);
		if (choice == 1)
			set_state_continue(11);
		if (choice == 2) {
			
			text_bubble_on_char(6,"No?");
			force_instant_terrain_redraw();
			pause(5 * get_flag(251,0));
			
			text_bubble_on_char(6,"");
			text_bubble_on_char(6,"I have nothing else.");
			force_instant_terrain_redraw();
			pause(5 * get_flag(251,0));
			
			text_bubble_on_char(6,"");
			text_bubble_on_char(6,"You are about to say Collatinus.");
			force_instant_terrain_redraw();
			pause(5 * get_flag(251,0));
			
			relocate_character(6,9,10);
			set_character_facing(6,2);
			text_bubble_on_char(6,"");
			text_bubble_on_char(6,"Think not of that,");
			force_instant_terrain_redraw();
			pause(2 * get_flag(251,0));
			
			relocate_character(6,8,11);
			set_character_facing(6,3);
			force_instant_terrain_redraw();
			pause(2 * get_flag(251,0));
			
			march_party(9,13);
			force_view_center(9,13);
			relocate_character(6,7,11);
			set_character_facing(6,2);
			force_instant_terrain_redraw();
			pause(2 * get_flag(251,0));
			
			text_bubble_on_char(6,"");
			text_bubble_on_char(6,"for I cannot go back to him.");
			force_instant_terrain_redraw();
			pause(2 * get_flag(251,0));
			
			text_bubble_on_char(6,"");
			text_bubble_on_char(6,"That already failed once,");
			force_instant_terrain_redraw();
			pause(5 * get_flag(251,0));
			
			text_bubble_on_char(6,"");
			text_bubble_on_char(6,"and do you really think");
			force_instant_terrain_redraw();
			pause(5 * get_flag(251,0));
			
			text_bubble_on_char(6,"");
			text_bubble_on_char(6,"that now that I have left him once");
			force_instant_terrain_redraw();
			pause(5 * get_flag(251,0));
			
			text_bubble_on_char(6,"");
			text_bubble_on_char(6,"our relationship will improve?");
			force_instant_terrain_redraw();
			pause(5 * get_flag(251,0));
			
			text_bubble_on_char(6,"");
			text_bubble_on_char(6,"No, I must be with my lord here.");
			force_instant_terrain_redraw();
			pause(5 * get_flag(251,0));
			
			text_bubble_on_char(6,"");
			set_character_facing(6,2);
			force_instant_terrain_redraw();
			
			message_dialog("She stops before the bed, frowning at it. Slowly she turns back to you.","");
			
			set_character_facing(6,6);
			
			set_state_continue(16);
			}
		if (choice == 3) {
			message_dialog("Lucretia stays silent for a long moment. Then her eyes twitch, as if something has occurred to her.","");
			
			text_bubble_on_char(6,"My purity!");
			force_instant_terrain_redraw();
			pause(5 * get_flag(251,0));
			
			relocate_character(6,9,10);
			set_character_facing(6,2);
			text_bubble_on_char(6,"");
			text_bubble_on_char(6,"He says that he loves my purity!");
			force_instant_terrain_redraw();
			pause(2 * get_flag(251,0));
			
			relocate_character(6,8,11);
			set_character_facing(6,3);
			force_instant_terrain_redraw();
			pause(2 * get_flag(251,0));
			
			march_party(9,13);
			force_view_center(9,13);
			relocate_character(6,7,11);
			set_character_facing(6,2);
			force_instant_terrain_redraw();
			pause(2 * get_flag(251,0));
			
			text_bubble_on_char(6,"");
			text_bubble_on_char(6,"He would love me more if only");
			force_instant_terrain_redraw();
			pause(2 * get_flag(251,0));
			
			text_bubble_on_char(6,"");
			text_bubble_on_char(6,"it were greater.");
			force_instant_terrain_redraw();
			pause(2 * get_flag(251,0));
			
			text_bubble_on_char(6,"");
			force_instant_terrain_redraw();
			
			message_dialog("Her voice grows more firm, more resolute.","");
			
			set_character_facing(6,6);
			
			set_state_continue(16);
			}
		}
	
	// Is convincing her to get out of there
	if (char_loc_y(6) == 15) {
		add_dialog_choice(0,"Lucrece, you don't have to stay here. You can come back to Collatinus and your son, who love you.");
		add_dialog_choice(1,"That's terrible! How could you leave your husband, you whore?");
		if (run_dialog(1) == 1)
			set_state_continue(15);
		else
			set_state_continue(14);
		}
	
	// Has gone too far
	if (char_loc_y(6) == 16) {
		add_dialog_choice(0,"Lucretia, you shouldn't stay here. Come back to Collatinus, who loves you.");
		add_dialog_choice(1,"That's terrible! How could you leave your husband, you whore?");
		if (run_dialog(1) == 1)
			set_state_continue(12);
		else 
			set_state_continue(14);
		}
	
break;

beginstate 14;
	// You wouldn't understand!
	message_dialog("Lucretia shrieks.","");
	
	if (char_loc_y(6) == 16) {
		relocate_character(6,8,16);
		set_character_facing(6,2);
		}
	text_bubble_on_char(6,"No!");
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	if (char_loc_y(6) == 16) {
		relocate_character(6,7,15);
		set_character_facing(6,1);
		force_instant_terrain_redraw();
		}
	pause(2 * get_flag(251,0));
	
	set_character_facing(6,0);
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"No! No! No!");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"You don't understand!");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"My flesh, my virtue!");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"My flesh, my flesh, my blood!");
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	relocate_character(6,8,14);
	set_character_facing(6,7);
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	relocate_character(6,8,13);
	set_character_facing(6,0);
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	march_party(8,15);
	force_view_center(8,15);
	relocate_character(6,7,12);
	set_character_facing(6,1);
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"My blood! Blood! Blood!");
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	march_party(8,14);
	force_view_center(8,14);
	relocate_character(6,7,11);
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	set_character_facing(6,4);
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	force_instant_terrain_redraw();
	
	message_dialog("Lucretia, after running screaming across the room, seems to calm as she approaches the bed.","");

	set_state_continue(16);
	
break;

beginstate 15;
	// Lucretia approaches the stairs
	text_bubble_on_char(6,"My son!");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	relocate_character(6,7,16);
	set_character_facing(6,4);
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"I can but see his smile even now!");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	relocate_character(6,7,17);
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"His care was my life years ago,");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	relocate_character(6,7,18);
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"when he was but a boy,");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	force_view_center(9,16);
	relocate_character(6,7,19);
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"before he began becoming a man.");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	force_instant_terrain_redraw();
	
	message_dialog("She stands at the brink of the stairs, the conflict playing across her face.","You lean in intently, watching.");
	
	march_party(9,16);
	text_bubble_on_char(6,"My boy!");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"My blood, my flesh, my...");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"my virtue.");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	set_character_facing(6,0);
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"I must be obedient to my lord");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"and follow his will in all things.");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"I shall not go.");
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	relocate_character(6,8,18);
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	relocate_character(6,8,17);
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	relocate_character(6,8,16);
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"My lord thinks me");
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	relocate_character(6,8,15);
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	relocate_character(6,8,14);
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	relocate_character(6,8,13);
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"the most virtuous woman in the empire.");
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	march_party(8,15);
	force_view_center(8,15);
	relocate_character(6,7,12);
	set_character_facing(6,1);
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	march_party(8,14);
	force_view_center(8,14);
	relocate_character(6,7,11);
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	set_character_facing(6,4);
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"I must strive to be as virtuous");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"as he imagines me, mustn't I?");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	force_instant_terrain_redraw();
	
	message_dialog("Your words have had no effect. She was almost on the stairs, almost leaving her prison here, almost able to break past Putidus's influence, but she simply cannot. For love or fear, you could not convince Lucretia to escape.","Before you can open your mouth to try again, she continues speaking.");
	
	set_state_continue(16);
	
break;

beginstate 16; // Lucretia at (7,11), party at (8,14) or (9,13)
	// Death
	text_bubble_on_char(6,"I see now.");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"I understand what he meant.");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"He said that he was purifying me");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"with his warm kisses on my neck");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"that drained out my blood.");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	relocate_character(6,6,11);
	set_character_facing(6,2);
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"I must be as virtuous as he desires.");
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	set_character_facing(6,4);
	force_instant_terrain_redraw();
	pause(3 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"Let this too solid flesh melt away");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"as I drain this blood that befouls.");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	force_instant_terrain_redraw();
	
	message_dialog("Before you can move, she has drawn a dagger from under her clothing, and she has torn the folds of her stola away from her neck.","");
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"I die here blameless.");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"I kill myself first");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	text_bubble_on_char(6,"so that he may love me after!");
	force_instant_terrain_redraw();
	pause(5 * get_flag(251,0));
	
	text_bubble_on_char(6,"");
	force_instant_terrain_redraw();
	
	message_dialog("She lays back onto the bed as she drags the edge of the dagger along her throat right where the two small holes are. In the bed where she and Putidus have lain, she opens her veins, and her blood spills all over the sheets.","");
	
	put_stain_on_space(5,11,0);
	kill_char(6,2,0);
	
	march_party(8,13);
	force_view_center(8,13);
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	march_party(7,12);
	force_view_center(7,12);
	force_instant_terrain_redraw();
	pause(2 * get_flag(251,0));
	
	reset_dialog();
	add_dialog_str(0,"You run to her body, hoping to help in some way, but she is already dead. Her ivory cheeks, pale from loss of blood to the vampire lord, are now even more pale and beautiful. Her coral lips fade icy blue, soft skin hardening as armor against sin.",0);
	add_dialog_str(1,"Now, only now, she is beyond all human wickedness, all sufferings, all madness.",0);
	add_dialog_str(2,"Even as you watched her commit suicide, you knew that Putidus was responsible for this. What is due to him is for you to decide. Lucretia has chosen her own fate, but you must make one for the man behind this.",0);
	set_flag(7,2,run_dialog(1));
	
break;

beginstate 17;
	reset_dialog();
	add_dialog_str(0,"Do you wish to descend the long, winding staircase?",0);
	add_dialog_choice(0,"Leave.");
	add_dialog_choice(1,"Descend the stairs.");
	if (run_dialog(1) == 1)
		block_entry(1);
	else
		move_to_new_town(5,15,32);
break;

beginstate 18;
if (get_flag(7,1) != 0)
	end();
	
	message_dialog("You murder Lucretia.","");
	set_flag(7,4,1);
break;